package com.tianma315.admin.supplier.service.impl;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.tianma315.admin.common.base.CoreServiceImpl;
import org.springframework.stereotype.Service;

import com.tianma315.admin.supplier.dao.SupplierTypeDao;
import com.tianma315.admin.supplier.domain.SupplierTypeDO;
import com.tianma315.admin.supplier.service.SupplierTypeService;

import java.util.List;

/**
 * 
 * <pre>
 * 供应商类型
 * </pre>
 * <small> 2019-05-22 11:13:05 | Aron</small>
 */
@Service
public class SupplierTypeServiceImpl extends CoreServiceImpl<SupplierTypeDao, SupplierTypeDO> implements SupplierTypeService {

    @Override
    public boolean deleteSupplierTypeById(Integer id) {
        SupplierTypeDO supplierTypeDO = new SupplierTypeDO();
        supplierTypeDO.setState(1);
        supplierTypeDO.setSupplierTypeId(id);
        boolean flag = updateById(supplierTypeDO);
        return flag;
    }

    @Override
    public Page<SupplierTypeDO> getSupplierTypePage(Integer pageNumber, Integer pageSize, SupplierTypeDO supplierTypeDTO) {
        // 查询列表数据
        Page<SupplierTypeDO> page = new Page<>(pageNumber, pageSize);
        Wrapper<SupplierTypeDO> wrapper = new EntityWrapper<SupplierTypeDO>();
        wrapper.eq("state",0).like("type_name",supplierTypeDTO.getTypeName());
        wrapper.orderBy("supplier_type_id",false);

        page = selectPage(page, wrapper);
        int total = selectCount(wrapper);
        page.setTotal(total);
        return page;
    }

    @Override
    public boolean addSupplierType(SupplierTypeDO supplierTypeDO) {
        supplierTypeDO.setState(0);
        boolean flag = insert(supplierTypeDO);
        return flag;
    }

    @Override
    public List<SupplierTypeDO> getSupplierTypeList() {
        Wrapper<SupplierTypeDO> wrapper = new EntityWrapper<SupplierTypeDO>();
        wrapper.eq("state",0);
        List<SupplierTypeDO> supplierTypeDOList = selectList(wrapper);
        return supplierTypeDOList;
    }
    @Override
    public List<SupplierTypeDO> getSupplierTypeList(SupplierTypeDO supplierTypeDO) {
        Wrapper<SupplierTypeDO> wrapper = new EntityWrapper<SupplierTypeDO>();
        wrapper.eq("state",0);
        wrapper.like("type_name",supplierTypeDO.getTypeName());
        List<SupplierTypeDO> supplierTypeDOList = selectList(wrapper);
        return supplierTypeDOList;
    }
}
